export default {
  /*
    Mutation中的方法必须是同步方法,如果是异步操作那么devtools将不能很好的追踪这个操作什么时候会被完成
    如果确实希望在Vuex中进行一些异步操作,比如网络请求,则使用Action
    Action类似于Mutation,但是是用来代替Mutation进行异步操作的
   */
  aUpdateInfo(context,payload){ //默认参数为context,即store对象,同时可以定义第二个参数,用于携带参数
    //如果需要修改state中的参数,注意不要直接修改,而是通过Mutation进行更改,切忌不可跳过Mutation
    // setTimeout(() => {
      // console.log(payload)
      // context.commit('updateInfo') //调用Mutation中的方法

      //调用成功后,通知调用的地方(这种方式不优雅,不推荐使用)
    //   console.log(payload.message)
    //   payload.success()
    // },2000)

    // 通知调用的地方,更加优雅的解决方式
    return new Promise((resolve,reject) => {
      setTimeout(() => {
        context.commit('updateInfo')
        console.log(payload)

        //成功后调用relosve()
        resolve('调用成功')
      },2000)
    }) //调用成功后的.then操作在调用使用
  }
}